package com.itextpdf.text.pdf; import com.itextpdf.text.*; import org.junit.Before; import org.junit.Test; import java.io.FileOutputStream; /** * */ public class ToUnicodeNonBreakableSpacesTest { private BaseFont fontWithToUnicode; @Before public void setUp() throws Exception { PdfReader reader = new PdfReader( ToUnicodeNonBreakableSpacesTest.class.getResourceAsStream("/com/itextpdf/text/pdf/ToUnicodeNonBreakableSpacesTest/fontWithToUnicode.pdf")); PdfDictionary resourcesDict = reader.getPageResources(1); PdfDictionary fontsDict = resourcesDict.getAsDict(PdfName.FONT); for (PdfName key : fontsDict.getKeys()) { PdfObject pdfFont = fontsDict.get(key); if (pdfFont instanceof PRIndirectReference) { fontWithToUnicode = BaseFont.createFont((PRIndirectReference) pdfFont); break; } } } @Test public void writeTextWithWordSpacing() throws Exception { Document document = new Document(); FileOutputStream out = new FileOutputStream("target/test-classes/com/itextpdf/text/pdf/ToUnicodeNonBreakableSpacesTest/textWithWorldSpacing.pdf"); PdfWriter writer = PdfWriter.getInstance(document, out); document.open(); document.setPageSize(PageSize.A4); document.newPage(); writer.getDirectContent().setWordSpacing(10); ColumnText columnText = new ColumnText(writer.getDirectContent()); columnText.setSimpleColumn(new Rectangle(30, 0, document.getPageSize().getRight(), document.getPageSize().getTop() - 30)); columnText.setUseAscender(true); columnText.addText(new Chunk("H H H H H H H H H !", new Font(fontWithToUnicode, 30))); columnText.go(); document.close(); } }